我的创建操作无法访问.new_record?方法

更强

在Rails 4.0应用程序中,我有一个表单及其相应的create动作。它们都完美地工作:

查看表格:

<%= form_for @user_friendship, method: :post do |f| %>

    <div class="form form-actions">     

        <%= f.text_field :friend_id, value: @friend.id %>
        <%#= f.button :submit #=> This creates a User_friendship %>
        <%= f.button :submit %>
        <%= link_to "Cancel", profile_path(@friend.profile_name), class: 'btn' %>

    </div>

<% end %>

它的创造行动

def create
    if params[:friend_id]

        @friend = User.find_by_id(params[:user_friendship][:friend_id])

        logger.fatal "Here is the friend:"
        logger.fatal @friend.inspect

    else

    end

    if @friend

        @user_friendship = UserFriendship.request(current_user,@friend)

        logger.fatal @user_friendship.inspect

#       if @user_friendship.new_record?
#           flash[:error] = "There was a problem creating that friend request"
#       else
#           flash[:success] = "Friend request sent to " + @friend.first_name
#       end

        redirect_to profile_path(@friend.profile_name), status: 302


    else
        flash[:error] = "Friend required!"
        redirect_to root_path, status: 302
    end 
end

但是,当我取消注释这些行时:

    if @user_friendship.new_record?
            flash[:error] = "There was a problem creating that friend request"
    else
            flash[:success] = "Friend request sent to " + @friend.first_name
    end

我收到此错误消息:

NoMethodError in UserFriendshipsController#create
undefined method `new_record?' for #<Mail::Message:0x00000104aae768>

我不知道此错误是从哪里来的(邮件是否有问题?),所以请告诉我是否需要发布更多信息。

我发现那Mail::Message部分真的很奇怪...这个对象是什么?

模型

def self.request(user1, user2)
    friendship1 = []

    transaction do
        friendship1 = create!(user_id: user1.id, friend_id: user2.id, state: 'pending')
        friendship2 = create!(user_id: user2.id, friend_id: user1.id, state: 'requested') 
    end

    friendship1.send_request_email
end

def send_request_email
    UserNotifier.friend_requested(id).deliver
end

邮件:

def friend_requested(user_friendship_id)


    user_friendship = UserFriendship.find(user_friendship_id)

    @user = user_friendship.user
    @friend = user_friendship.friend


    mail to: @friend.email,
         subject: @user.first_name + " wants to be your friend!"
end
奥格兹巫师

@user_friendship分配了从调用返回的值UserFriendship.request(...)看来该方法返回了一个邮件对象(您是否在该方法的最后一行向其发送电子邮件通知?)。尝试从该方法返回UserFriendship对象。

编辑:

更好的是,只需执行一下@user_friendship = UserFriendship.create(current_user, @friend),然后在after_create回调中发送电子邮件即可。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails new_record?交易内部方法

来自分类Dev

无法访问我班上的方法

来自分类Dev

我无法访问类中的方法

来自分类Dev

为什么我无法访问在对象的方法中创建的对象

来自分类Dev

我的公共布尔方法中无法访问的语句

来自分类Dev

无法访问我的刀片文件中的组件方法

来自分类Dev

如何使用new_record ?,变了吗?并坚持吗?本例中的rails中的方法

来自分类Dev

Rails茧宝石:未定义的方法“ new_record?” 在Wicked的link_to_remove_association上

来自分类Dev

Rails茧宝石:未定义的方法“ new_record?” 在Wicked的link_to_remove_association上

来自分类Dev

ReactJS无法访问“ this”方法

来自分类Dev

关联无法访问方法

来自分类Dev

Java:无法访问方法

来自分类Dev

无法访问Controller中带有参数的操作方法

来自分类Dev

无法访问我创建的数组

来自分类Dev

为什么在使用$ new时无法访问我的范围属性?

来自分类Dev

无法访问我在通用方法中用作类型实参的类的基类的属性

来自分类Dev

无法访问子类方法,泛型是否不利?还是我想念一些东西

来自分类Dev

为什么在此片段中无法访问我的onClick方法

来自分类Dev

类型错误:错误 #1009:无法访问空对象引用的属性或方法。对于我的 PAP

来自分类Dev

即使文件在桥中,为什么我也无法访问objective-c 方法?

来自分类Dev

无法访问模块的属性或方法

来自分类Dev

无法访问对象原型上的方法

来自分类Dev

C ++ invokeMethod无法访问QML方法

来自分类Dev

无法访问线程run()中的方法

来自分类Dev

无法访问控制器方法

来自分类Dev

IllegalAccessError:方法是无法访问类

来自分类Dev

无法访问角度服务的方法

来自分类Dev

无法访问道具内部方法

来自分类Dev

无法访问ComponentDidMount方法内的道具

Related 相关文章

  1. 1

    Rails new_record?交易内部方法

  2. 2

    无法访问我班上的方法

  3. 3

    我无法访问类中的方法

  4. 4

    为什么我无法访问在对象的方法中创建的对象

  5. 5

    我的公共布尔方法中无法访问的语句

  6. 6

    无法访问我的刀片文件中的组件方法

  7. 7

    如何使用new_record ?,变了吗?并坚持吗?本例中的rails中的方法

  8. 8

    Rails茧宝石:未定义的方法“ new_record?” 在Wicked的link_to_remove_association上

  9. 9

    Rails茧宝石:未定义的方法“ new_record?” 在Wicked的link_to_remove_association上

  10. 10

    ReactJS无法访问“ this”方法

  11. 11

    关联无法访问方法

  12. 12

    Java:无法访问方法

  13. 13

    无法访问Controller中带有参数的操作方法

  14. 14

    无法访问我创建的数组

  15. 15

    为什么在使用$ new时无法访问我的范围属性?

  16. 16

    无法访问我在通用方法中用作类型实参的类的基类的属性

  17. 17

    无法访问子类方法,泛型是否不利?还是我想念一些东西

  18. 18

    为什么在此片段中无法访问我的onClick方法

  19. 19

    类型错误:错误 #1009:无法访问空对象引用的属性或方法。对于我的 PAP

  20. 20

    即使文件在桥中,为什么我也无法访问objective-c 方法?

  21. 21

    无法访问模块的属性或方法

  22. 22

    无法访问对象原型上的方法

  23. 23

    C ++ invokeMethod无法访问QML方法

  24. 24

    无法访问线程run()中的方法

  25. 25

    无法访问控制器方法

  26. 26

    IllegalAccessError:方法是无法访问类

  27. 27

    无法访问角度服务的方法

  28. 28

    无法访问道具内部方法

  29. 29

    无法访问ComponentDidMount方法内的道具

热门标签

归档