teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

加筆修正したことを明記

2017/04/27 10:42

投稿

solt0723
solt0723

スコア67

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,8 @@
1
1
  ###前提・実現したいこと
2
2
  Railsアプリケーションで、controllerのメソッドをviewのパーシャルから呼び出す際にエラーが発生していて、そのエラーを解消したいと思っています。
3
+ **※その後、追加修正依頼を受けて、controllerのメソッドを
4
+ app/helpers 配下のヘルパーメソッドに書き換えました。
5
+ 追記の部分をご覧ください。**
3
6
 
4
7
  テキストをマイクロポストとして投稿できるWEBサービスを開発しています。
5
8
 

4

タイトルの修正

2017/04/27 10:42

投稿

solt0723
solt0723

スコア67

title CHANGED
@@ -1,1 +1,1 @@
1
- Railsのパーシャルで、modelで定義したメソッドを利用すると発生するエラーを解消したい
1
+ Railsのviewのパーシャルで、modelで定義したメソッドを利用すると発生するエラーを解消したい
body CHANGED
File without changes

3

不適切だったタイトルを修正

2017/04/27 09:42

投稿

solt0723
solt0723

スコア67

title CHANGED
@@ -1,1 +1,1 @@
1
- Railsのパーシャルで、modelで定義したメソッドを利用してview作りたい
1
+ Railsのパーシャルで、modelで定義したメソッドを利用すると発生するエラー解消したい
body CHANGED
File without changes

2

タイトルを修正

2017/04/26 12:42

投稿

solt0723
solt0723

スコア67

title CHANGED
@@ -1,1 +1,1 @@
1
- Railsのパーシャルからcontrollerのメソッドを呼び出したい
1
+ Railsのパーシャルで、modelで定義したメソッドを利用てviewを作りたい
body CHANGED
File without changes

1

加筆修正

2017/04/24 09:20

投稿

solt0723
solt0723

スコア67

title CHANGED
File without changes
body CHANGED
@@ -62,4 +62,35 @@
62
62
  エラーは解消されませんでした。
63
63
 
64
64
  追加で情報が必要であれば、言っていただけるとありがたいです!
65
- よろしくお願いします。
65
+ よろしくお願いします。
66
+
67
+ ###追記
68
+
69
+ 追加修正依頼ありがとうございます!
70
+ コメントにもいただいたように、helperに同じfeed_micropost_idメソッドを定義して試してみました。
71
+
72
+ app/helpers/micropost_helper.rbを下記の記述にしました。
73
+ ```
74
+ module MicropostsHelper
75
+ def feed_micropost_id(micropost_id)
76
+ @micropost_procedure = feed_protocol(micropost_id)
77
+ end
78
+ end
79
+ ```
80
+ ちなみに、この時に viewのエラー該当部分では<%= feed_micropost_id %>と記述しています。
81
+
82
+ エラーの内容が変わって、下記のエラーになりました!
83
+
84
+ ```
85
+ wrong number of arguments (0 for 1)
86
+ ```
87
+
88
+ メソッドはviewから取得できました。
89
+ 引数を渡して、viewの該当部分を<%= feed_micropost_id(800) %>としてみました。
90
+ すると、下記のエラーに変わっています。
91
+
92
+ ```
93
+ undefined method `feed_protocol'
94
+ ```
95
+ このfeed_protocolというメソッドは、models/user.rbの中で定義しているのですが
96
+ app/helpersからは、modelないで定義したメソッドは取得できないのでしょうか、、?