0

同じコントローラーで他のアクションを呼び出すにはどうすればよいですか?
それから私は渡したいと@community or @user思いparams[:comment][:body]ますpart_two

私の現在のコードはこれです。

def part_one
    if params[:mode] == "1"
        @community = Community.find(params[:id])
        @body = "This is for Community"
    elsif params[:mode] == "2"
        @user = User.find(params[:id])
        @body = "This is for User"
    end

    params[:comment][:body] = @body

    -----here I want to call action [part_two]-------
end


def part_two
    transaction that needs @community or @user,  and params[:comment][:body]
end
4

2 に答える 2

3

別のアクションからアクションを呼び出すことはできません。

あなたのコード例から、あなたのアクションは であるべきだと思わpart_twoれますが、あなたはそのアクションの前のフィルターpart_oneでなければなりません。

http://guides.rubyonrails.org/action_controller_overview.html#filters

于 2013-08-03T03:40:20.020 に答える
1
def part_one
    if params[:mode] == "1"
        @community = Community.find(params[:id])
        @body = "This is for Community"
    elsif params[:mode] == "2"
        @user = User.find(params[:id])
        @body = "This is for User"
    end

    params[:comment][:body] = @body

    # call part_two
    part_two
end

これにより、同じコントローラーで part_two メソッドが呼び出されます。

于 2013-08-03T09:06:46.293 に答える